# 请输入一个包含若干整数或实数的列表lst，要求输出其中出现次数最多的一个，如果有多于一个并列最多，就输出最大的一个。例如，lst为[1,1,1,2,3,4,4,4]时输出4，lst为[1,1,1,2,3,4]时输出1.


# version 1 
original_list = list(eval(input("Input some numbers:")))
original_list.sort()
times = 0
time = 0
new_list = [str(i) for i in original_list]
alist= list(set(new_list))
alist.sort()
for i in alist:
    times = max(new_list.count(i), times)
    if times >= time:
        most = i
    time = times
print(most)


# version 2
list_a = eval(input("请输入一个整数列表："))
b = 0
for i in list_a:
    if list_a.count(i) > b:
        b = list_a.count(i) - 1
        most = i
print(most)


# version 3
lst=eval(input('请输入一个整数或实数的列表:'))
dictA={}
for i in lst:
    dictA[i]=dictA.get(i,0)+1
lstA=sorted(dictA.items(),key=lambda x:(x[1],x[0]),reverse=True)
# 或者lstA=sorted(dictA.items(),key=lambda x:(-x[1],-x[0]))
print(lstA[0][0])


# version 4
lst=eval(input('请输入一个整数或实数的列表:'))
setA=set(lst)
dictA={i:lst.count(i) for i in setA}
lstA=sorted(dictA.items(),key=lambda x:(x[1],x[0]),reverse=True)
#或者lstA=sorted(dictA.items(),key=lambda x:(-x[1],-x[0]))
print(lstA[0][0])

